Reapply 61c0c52a8c6c "qemu-xen: build adjustments"
authorIan Jackson <Ian.Jackson@eu.citrix.com>
Tue, 23 Nov 2010 19:12:55 +0000 (19:12 +0000)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Tue, 23 Nov 2010 19:12:55 +0000 (19:12 +0000)
The changeset
  qemu-xen: build adjustments to support out-of-tree builds
works after all.  Sorry for the noise.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Config.mk
stubdom/Makefile
tools/Makefile

index 7dc4aa2a932feaf06e06d78848e93c918a707d70..0188877f00df2f36bc7f0967e4dfdf699144180c 100644 (file)
--- a/Config.mk
+++ b/Config.mk
@@ -185,9 +185,9 @@ endif
 # CONFIG_QEMU ?= ../qemu-xen.git
 CONFIG_QEMU ?= $(QEMU_REMOTE)
 
-QEMU_TAG ?= 60766b459c41e429a4b2405124b42512ea362984
-# Fri Nov 19 18:50:43 2010 +0000
-# passthrough: let xen choose the pirq number
+QEMU_TAG ?= ad78ccc35617610bc43112788d28a05878fac91f
+# Tue Nov 23 16:40:08 2010 +0000
+# qemu-xen: build adjustments to support out-of-tree builds
 
 # Optional components
 XENSTAT_XENTOP     ?= y
index d3af867a23671c70d9d1f36e062c6a44e3740ef7..d1c6b0a5b5041000102b790e30eaafda500ab3b1 100644 (file)
@@ -215,6 +215,9 @@ $(OCAML_STAMPFILE): ocaml-$(XEN_TARGET_ARCH)/.dirstamp
 .PHONY: $(CROSS_ROOT)
 $(CROSS_ROOT): cross-newlib cross-zlib cross-libpci
 
+QEMU_ROOT := $(shell if [ -d "$(CONFIG_QEMU)" ]; then echo "$(CONFIG_QEMU)"; else echo .; fi)
+
+ifeq ($(QEMU_ROOT),.)
 $(XEN_ROOT)/tools/ioemu-dir:
        $(CROSS_MAKE) -C $(XEN_ROOT)/tools ioemu-dir-find
 
@@ -231,6 +234,13 @@ ioemu/linkfarm.stamp: $(XEN_ROOT)/tools/ioemu-dir
                        )) |                                                    \
            while read f; do rm -f "$$f"; ln -s "$$src/$$f" "$$f"; done
        touch ioemu/linkfarm.stamp
+else
+export QEMU_ROOT
+
+ioemu/linkfarm.stamp:
+       mkdir -p ioemu
+       touch ioemu/linkfarm.stamp
+endif
 
 mk-headers-$(XEN_TARGET_ARCH): ioemu/linkfarm.stamp
        mkdir -p include/xen && \
@@ -287,8 +297,8 @@ ioemu: cross-zlib cross-libpci libxc
            TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \
            TARGET_CFLAGS="$(TARGET_CFLAGS)" \
            TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
-           ./xen-setup-stubdom )
-       $(CROSS_MAKE) -C ioemu
+           $(QEMU_ROOT)/xen-setup-stubdom )
+       $(CROSS_MAKE) -C ioemu -f $(QEMU_ROOT)/Makefile
 
 ######
 # caml
index b5ca6354095a0677d3a9242aae7411eb4bfc1cf0..9a97324abd1afacdc56265500f483af0ff6cc98c 100644 (file)
@@ -81,20 +81,15 @@ IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \
                         --interp-prefix=$(CROSS_SYS_ROOT)
 endif
 
-ioemu/config-host.mak:
-       cd ioemu && XEN_TARGET_ARCH=$(XEN_TARGET_ARCH) sh configure \
-               --prefix=$(PREFIX) $(IOEMU_CONFIGURE_CROSS)
-
-subdir-all-ioemu subdir-install-ioemu: ioemu/config-host.mak
-
-subdir-clean-ioemu:
-       $(MAKE) -C ioemu distclean
+QEMU_ROOT := $(shell if [ -d "$(CONFIG_QEMU)" ]; then echo "$(CONFIG_QEMU)"; else echo .; fi)
+ifneq ($(QEMU_ROOT),.)
+export QEMU_ROOT
+endif
 
 ioemu-dir-find:
        set -ex; \
        if test -d $(CONFIG_QEMU); then \
-               rm -f ioemu-dir; \
-               ln -sf $(CONFIG_QEMU) ioemu-dir; \
+               mkdir -p ioemu-dir; \
        else \
                if [ ! -d ioemu-remote ]; then \
                        rm -rf ioemu-remote ioemu-remote.tmp; \
@@ -115,7 +110,7 @@ ioemu-dir-find:
                $(absolutify_xen_root); \
                $(buildmakevars2shellvars); \
                cd ioemu-dir; \
-               ./xen-setup $(IOEMU_CONFIGURE_CROSS)
+               $(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS)
 
 .PHONY: ioemu-dir-force-update
 ioemu-dir-force-update: